//============================================================================================
/**
 * @file	castle_ui.h
 * @brief	バトルキャッスル インターフェース関連
 * @author	Hiroyuki Nakamura
 * @date	08.11.11
 */
//============================================================================================
#ifndef	_CASTLE_UI_H
#define	_CASTLE_UI_H

#include "system/cursor_move.h"
#include "system/selbox.h"


//============================================================================================
//	定数定義
//============================================================================================

// 選択ＩＤ
enum {
	// ポケモン選択
	CASTLEUI_ID_POKESEL_POKE1 = 0,		// 00: ポケモン１
	CASTLEUI_ID_POKESEL_POKE2,			// 01: ポケモン２
	CASTLEUI_ID_POKESEL_POKE3,			// 02: ポケモン３
	CASTLEUI_ID_POKESEL_POKE4,			// 03: ポケモン４
	CASTLEUI_ID_POKESEL_END,			// 04: もどる

	// アイテム選択
	CASTLEUI_ID_ITEMSEL_ITEM1 = 0,		// アイテム１
	CASTLEUI_ID_ITEMSEL_ITEM2,			// アイテム２
	CASTLEUI_ID_ITEMSEL_ITEM3,			// アイテム３
	CASTLEUI_ID_ITEMSEL_ITEM4,			// アイテム４
	CASTLEUI_ID_ITEMSEL_ITEM5,			// アイテム５
	CASTLEUI_ID_ITEMSEL_ITEM6,			// アイテム６
	CASTLEUI_ID_ITEMSEL_LEFT,			// 前へ
	CASTLEUI_ID_ITEMSEL_RIGHT,			// 次へ
	CASTLEUI_ID_ITEMSEL_END,			// もどる
};


//============================================================================================
//	プロトタイプ宣言
//============================================================================================

extern CURSOR_MOVE_WORK * CASTLEUI_CursorMoveInitMine( CASTLE_MINE_WORK * wk, u32 pos, u32 max );
extern CURSOR_MOVE_WORK * CASTLEUI_CursorMoveInitEnemy( CASTLE_ENEMY_WORK * wk, u32 pos, u32 max );
extern void CASTLEUI_CursorMoveExit( CURSOR_MOVE_WORK * wk );

extern u32 CASTLEUI_PokeSelMineCursorMove( CURSOR_MOVE_WORK * wk );
extern void CASTLEUI_PokeSelMineCanselPosSet( CURSOR_MOVE_WORK * wk );

extern CURSOR_MOVE_WORK * CASTLEUI_CursorMoveInitItem( CASTLE_MINE_WORK * wk );
extern u32 CASTLEUI_ItemSelCursorMove( CURSOR_MOVE_WORK * wk );



extern SELBOX_SYS * CASTLEUI_SelBoxCreate( CLACT_SET_PTR csp, PALETTE_FADE_PTR pfd );
extern void CASTLEUI_SelBoxFree( SELBOX_SYS * selbox );
extern SELBOX_WORK * CASTLEUI_SelBoxSet( SELBOX_SYS * selbox, SELBOX_HEADER * hd, u8 x, u8 y, u8 sx );
extern void CASTLEUI_SelBoxExit( SELBOX_WORK * wk );

extern BOOL CASTLEUI_SkipCheck(void);


#endif	// _CASTLE_UI_H